import { z } from 'zod'

// 基础Group Schema
export const GroupSchema = z.object({
  id: z.string(),
  name: z.string(),
  color: z.string().optional(),
  parentId: z.string().optional(),
  sortOrder: z.number(),
  collapsed: z.boolean(),
  createdAt: z.string(),
  updatedAt: z.string(),
  deleted: z.boolean(),
  deletedAt: z.string().optional(),
})

// 创建Group请求Schema
export const CreateGroupRequestSchema = z.object({
  name: z.string(),
  color: z.string().optional(),
  parentId: z.string().optional(),
})

// 更新Group请求Schema
export const UpdateGroupRequestSchema = z.object({
  name: z.string().optional(),
  color: z.string().optional(),
  parentId: z.string().optional(),
  collapsed: z.boolean().optional(),
  sortOrder: z.number().optional(),
})

// 导出类型定义
export type Group = z.infer<typeof GroupSchema>
export type CreateGroupRequest = z.infer<typeof CreateGroupRequestSchema>
export type UpdateGroupRequest = z.infer<typeof UpdateGroupRequestSchema>
